"""
OCR 项目配置文件
包含模型提供商、模型名称和其他配置选项
"""

# 可用的模型配置
AVAILABLE_MODELS = {
    # Gemini 模型 - 使用已知可工作的模型名称
    "gemini-flash": {
        "provider": "gemini",
        "model_name": "gemini/gemini-1.5-flash",  # 这个模型之前可以工作
        "description": "Gemini 1.5 Flash - 快速处理文档的视觉模型"
    },
    "gemini-pro": {
        "provider": "gemini",
        "model_name": "gemini/gemini-pro",  # 尝试使用这个替代
        "description": "Gemini Pro - 标准 Gemini 模型"
    },
    "gemini-pro-vision": {
        "provider": "gemini",
        "model_name": "gemini/gemini-pro-vision",  # 尝试这个标准视觉模型名称
        "description": "Gemini Pro Vision - 标准 Gemini 视觉模型"
    },
    "gemini-2-flash": {
        "provider": "gemini",
        "model_name": "gemini/gemini-2.0-flash",
        "description": "Gemini 2.0 Flash - 最新的 Gemini 视觉模型"
    },
    
    # OpenAI 模型
    "gpt4-vision": {
        "provider": "openai",
        "model_name": "gpt-4-vision-preview",
        "description": "GPT-4 Vision - OpenAI 的视觉模型"
    },
    "gpt4o": {
        "provider": "openai",
        "model_name": "gpt-4o",
        "description": "GPT-4o - OpenAI 的最新多模态模型"
    },
    
    # Anthropic 模型
    "claude-3-opus": {
        "provider": "anthropic",
        "model_name": "claude-3-opus-20240229",
        "description": "Claude 3 Opus - Anthropic 的高级视觉模型"
    },
    "claude-3-sonnet": {
        "provider": "anthropic",
        "model_name": "claude-3-sonnet-20240229",
        "description": "Claude 3 Sonnet - Anthropic 的平衡视觉模型"
    },
    
    # OpenAI兼容端点模型
    "qwen2-vl": {
        "provider": "openai-compatible",
        "model_name": "openai/qwen2-vl-72b-gptq-int4",
        "api_base": "",
        "api_key": "EMPTY",  # 使用"EMPTY"而不是空字符串
        "description": "Qwen2 VL - 通义千问大规模视觉语言模型"
    }
}

# OpenAI兼容API端点配置
OPENAI_COMPATIBLE_CONFIG = {
    "qwen2-vl": {
        "model_name": "openai/qwen2-vl-72b-gptq-int4",
        "api_base": "",
        "api_key": "EMPTY",  # 使用"EMPTY"而不是空字符串
    }
}

# 默认模型
DEFAULT_MODEL = "gemini-flash"

# 输出目录
DEFAULT_OUTPUT_DIR = "./output_test"

# 支持的文件类型
SUPPORTED_FILE_TYPES = [
    "pdf",
    "jpg", "jpeg", "png", "gif",
    "mp3", "mp4",
    "txt", "docx", "xlsx"
]

# 系统提示模板
SYSTEM_PROMPTS = {
    "default": "请分析这个文档并提取关键信息。",
    "invoice": "请分析这张发票，提取以下信息：发票号码、日期、供应商名称、客户名称、商品/服务描述、金额、税额和总金额。",
    "receipt": "请分析这张收据，提取商家名称、日期、时间、购买的商品/服务、价格和总金额。",
    "id_card": "请分析这个身份证件，提取姓名、证件号码、出生日期和地址信息。请注意隐私保护，不要提取敏感信息。",
    "contract": "请分析这份合同，提取合同类型、签约方、关键条款、生效日期和终止日期。"
} 